1. Technical Field
The present invention relates to computer boot time in general, and in particular to a method for booting up a computer in a relative short time.
2. Description of Related Art
When a computer is switched on, the computer starts a boot process (also known as bootstrapping or boot) to automatically load a predetermined boot program from a boot disk into a main memory and then executes the boot program. After a series of boot files has been loaded and executed, the computer is then ready for a user to execute any application program on the computer.
When a computer is brand new from the manufacturer, the boot process of the computer can be completed in a relatively short time because the sizes of the boot programs are relatively small. However, after the computer has been in use for many years, during which the user might have installed various application programs therein, these application programs would be incorporated into the boot files and the auto-run files, typically without the knowledge of the user. As a result, the time to complete the boot process is lengthened.
One prior art solution for speeding up the boot time of a computer system is to numerically limit task objects (static generation) generated during initialization of an operating system (OS). More specifically, while a task object with a relatively short initial access time between boot completion and access is statically generated, a task object with an initial access time longer than a certain time is generated by calling a specific system call in an application after boot completion (dynamic generation). Another prior art solution is to shorten a boot time of an OS by running applications to be activated with the OS at different timings on the basis of various conditions. In one example, after completion of the boot of the OS, each application is auto-run at a different timing.
For instance, an application called from another application for running and a certain type of service program of an OS are required to be activated prior to the running of a caller application. In this way, in the case of a program with an execution order depending on another program, the activation order cannot be changed freely. Therefore, the above-mentioned two prior art solutions have to be modified to make a confirmation whether the activation order of a program depends on another program or not or to keep the dependence of the activation order, and so there is a restriction on programs that can be activated after boot completion. Such a restriction arises every time a special program tries to control execution timing of other programs during booting.
A boot program includes a body code playing the original function as well as an initialization code initializing the body code. The initialization code runs only at the beginning of the running the program to configure information of a registry and other databases at the body code. While the body code runs, the registry tends to accumulate unnecessary information that should be deleted and gradually become bloated. If the initialization code configures the body code in accordance with the information of the bloated registry, a boot time becomes further longer because of redundant consumption of hardware resources such as a disk drive and a processor.
A tool known as registry cleaner can be utilized to delete unnecessary information from a registry. The registry cleaner can delete information from a registry when the information can be evidently regarded as deletable with even a program other than a target program. For instance, information such as a shortcut without a link and a temporary cache file can be deleted. When the registry cleaner deletes information in the registry without consideration given to the situation of a target program, the operation of the program will be unstable. Further, whether or not to execute a registry cleaner depends on a user's operation, thus, the registry cleaner is not always executed for shortening a boot time.
Consequently, it would be desirable to provide an improved method for booting up a computer in a relative short time.